/*
格式
try
{
	//可能抛出异常的代码
}
catch (...)	//无论什么异常，都在这里处理
{

}
*/

#include<iostream>
#include<string>
using namespace std;

int main()
{
	try
	{
		int n;
		cout << "你好，可以请你喝一杯吗？(1.乐意至极  2.滚)" << endl;
		cin >> n;
		if (n == 2)
			throw"";	//这里必须有一个常量或者变量抛出去
		cout << "嘻嘻" << endl;
	}
	catch (...)		//不关心异常类型则用...即可
	{
		cout << "捕获到异常" << endl;
	}
	cout << "程序继续运行..." << endl;

	return 0;
}








int main()
{
	try
	{
		int n;
		cout << "你好，可以请你喝一杯吗？(1.乐意至极  2.滚)" << endl;
		cin >> n;
		if (n == 2)
			throw"滚就滚";	//throw抛出const char* 类型异常	
		if (n == 3)
			throw n;		//throw抛出in类型的异常
		if (n == 4)
			throw string("滚就滚。");	//throw抛出string类型的异常

		
		cout << "嘻嘻" << endl;
	}
	catch (int x)		
	{ 
		cout << "捕获到int异常 "<< x <<" " << endl;
	}
	catch (const char* s)
	{
		cout << "捕获到const char*s异常 "<< s <<" " << endl;
	}
	catch (string str)
	{
		cout << "捕获到string异常 " << str << "" << endl;
	}
	cout << "程序继续运行..." << endl;

	return 0;
}

//C++如果程序抛出了异常，没有处理的话，程序就会中断